// src/stores/menu.ts
import { defineStore } from "pinia";
import type { MenuItem } from "@/types"; // 假设你的 MenuItem 类型定义在 types 文件中

export const useMenuStore = defineStore("menu", {
  state: () => ({
    menuTree: [] as MenuItem[],
  }),
  // 持久化配置
  persist: {
    enabled: true, // 默认开启
    strategies: [
      {
        key: "menu-state", // 存储键名（默认是 store id）
        storage: localStorage, // 存储方式（默认 localStorage）
        paths: ["menuTree"], // 指定要持久化的字段（默认全部）
      },
    ],
  },
  actions: {
    setMenuTree(tree: MenuItem[]) {
      this.menuTree = tree;
    }, 
    // 清理数据并移除存储
    clearMenu() {
      this.menuTree = [];
      this.$reset(); // 调用插件提供的重置方法
    },
  },
  getters: {
    getMenuTree: (state) => state.menuTree,
  },
});
